Una vera padronanza di Rust inizia con il DRY (Non ripeterti) principio. Prima di ricorrere alla sintassi generica, dobbiamo percorrere il cammino dell' Astrazione Concreta. Immagina un'app per il commercio che confronta prezzi (i32) e temperature dei sensori (f32); copiare e incollare la logica di confronto crea debito tecnico dove gli errori prosperano nell'ombra della duplicazione.
1. Il flusso di lavoro per il refactoring
Per passare dalla duplicazione all'eleganza, segui il processo a tre fasi: Identifica la logica ripetuta, Estrai questa logica in un corpo di funzione con input/output chiari, e Aggiorna i punti di chiamata originali per utilizzare la nuova funzione.
2. I limiti della logica concreta
Mentre Listato 10-3 astrae correttamente la logica, ma rimane vincolato a Tipi di dati concreti. Risolve la duplicazione della logica ma ci rende vulnerabili a Duplicazione dei tipi. Questo limite è la spinta verso Tipi astratti ($